package com.literature.threeGroup.service;

import com.literature.threeGroup.pojo.Menu;
import com.literature.threeGroup.pojo.MenuRole;
import com.literature.threeGroup.pojo.Organ;
import com.literature.threeGroup.pojo.Param;

import java.net.UnknownHostException;
import java.util.List;

/**
 * @author VULCAN
 * @create 2020-01-07 14:30
 * @desc
 **/
public interface MenuService {

    List<Menu> treeMenu(String id);

    void insertrolemenu(MenuRole menuRole);

    /**
      * @name  权限
     * @Author VULCAN
     * @Date 2020/1/10 8:52
     */
    List<Menu> findmenu();
    /**
      * @name  机构tree
     * @Author VULCAN
     * @Date 2020/1/10 8:53
     */
    List<Organ> findorgantree();

    /**
      * @name  参数tree
     * @Author VULCAN
     * @Date 2020/1/11 10:00
     */
    List<Param> findparamtree();

    /**
     * @name  机构列表 + 模糊
     * @Author VULCAN
     * @Date 2020/1/22 13:16
     */
    List<Organ> findorgantreelikename(Organ organ);
    /**
     * @name  参数列表 +模糊
     * @Author VULCAN
     * @Date 2020/1/22 13:19
     */
    List<Param> findparamtreelikename(Param param);
    /**
     * @name  机构删除
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void organdel(String id) throws UnknownHostException;
    /**
     * @name  机构添加
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void organadd(Organ organ) throws UnknownHostException;
    /**
     * @name  机构修改
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void organupdate(Organ organ) throws UnknownHostException;
    /**
     * @name  参数删除
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void paramdel(String id) throws UnknownHostException;
    /**
     * @name  参数修改
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void paramupdate(Param param) throws UnknownHostException;
    /**
     * @name  参数添加
     * @Author VULCAN
     * @Date 2020/1/23 12:45
     */
    void paramadd(Param param) throws UnknownHostException;
    /**
     * @name  organcount
     * @Author VULCAN
     * @Date 2020/1/11 10:01
     */
    List organcount();
    /**
     * @name  paramcount
     * @Author VULCAN
     * @Date 2020/1/11 10:01
     */
    List paramcount();
    /**
     * @name  学科
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamsubject();
    /**
     * @name  国家
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamcountry();
    /**
     * @name  文献
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamliterature();
    /**
     * @name  载体
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamcmorphology();
    /**
     * @name  语种
     * @Author VULCAN
     * @Date 2020/2/1 18:18
     */
    List<Param> findparamlanguage();
    /**
     * @name  学科级别下拉
     * @Author VULCAN
     * @Date 2020/2/8 13:00
     */
    List<Param>  findparamsubjectXl();
    /**
     * @name  语种级别下拉
     * @Author VULCAN
     * @Date 2020/2/8 13:00
     */
    List<Param> findparamlanguageXl();
}
